package top.sunpxit.generator.primary;

import lombok.Getter;

@Getter
public enum PrimaryKeyStrategyEnum {

    /**
     * 数据库ID自增
     */
    AUTO(0),

    /**
     * 该类型为未设置主键类型(注解里等于跟随全局,全局里约等于 INPUT)
     */
    NONE(1),

    /**
     * 用户输入ID
     * <p>该类型可以通过自己注册自动填充插件进行填充</p>
     */
    INPUT(2),

    /**
     * 分配ID (主键类型为number或string）,
     * 默认实现类 (雪花算法)
     */
    ASSIGN_ID(3),

    /**
     * 分配UUID (主键类型为 string)
     */
    ASSIGN_UUID(4);

    private final int key;

    PrimaryKeyStrategyEnum(int key) {
        this.key = key;
    }

}
